home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Standards 1994 January / InfoMagic Standards - January 1994.iso / ccitt / 1992 / t / t101_a2.asc < prev    next >
Text File  |  1991-12-31  |  49KB  |  924 lines

  1.        A.3.12.1.9    W-set segment transparent
  2.        W-Set-Seg-Transparent    ::=  SEQUENCE  {  transparent-segment-number         [1]
  3.        INTEGER,
  4.                                        transform-matrix                    [2] MAT }
  5.        --     Set transformation matrix attributes for the identified segment.
  6.        MAT                        ::= SET { matrix-element-11               [11] REAL,
  7.                                        matrix-element-12             [12] REAL,
  8.                                        matrix-element-13             [13] REAL,
  9.                                        matrix-element-21             [21] REAL,
  10.                                        matrix-element-22             [22] REAL,
  11.                                        matrix-element-23             [23] REAL }
  12.        --     Transform Matrix Definition.
  13.        A.3.12.1.10   W-set priority
  14.        W-Set-Priority                  ::=  SEQUENCE  {  priority-segment-number     [1]
  15.        INTEGER,
  16.                                              priority-value                [2] REAL }
  17.        --     Set segment  priority  attribute  for  the  identified  segment.  This  is
  18.        analogous to display order priority.
  19.        A.3.12.2      Work station independent
  20.        Work-Station-Independent      ::= CHOICE { [1] W-Associated,
  21.                                             [2] W-Copy,
  22.                                              [3] W-Insert }
  23.        A.3.12.2.1    W-associated
  24.        W-Associated              ::= SEQUENCE { associated-w-station-id    [1] INTEGER,
  25.                                        associated-segment-number           [2] INTEGER }
  26.        --     Associate the identified segment with the identified work station.
  27.        A.3.12.2.2    W-copy
  28.        W-Copy               ::= SEQUENCE { copy-w-station-id                [1] INTEGER,
  29.                                        copy-segment-number                 [2] INTEGER }
  30.        --     Copy the primitives of the identified work station.
  31.        A.3.12.2.3    W-insert
  32.        W-Insert                  ::= SEQUENCE { insert-segment-number      [1] INTEGER,
  33.                                        insert-transform-matrix-ref         [2] MAT }
  34.        --     Transform and display segment.
  35.        A.3.13 Colour control string
  36.             All  of  the  source  terminal  data  syntaxes   provide   the
  37.        capability  to  define  colour  and  have   available,   at   least
  38.        optionally, a colour map capability. However the colour model which
  39.        is used by each  of  the  source  terminal  data  syntaxes  differs
  40.        significantly. In order to provide a neutral basis for colour,  the
  41.        colour model developed for ISO 8613  Text  and  Offices  Systems  -
  42.        Office Document Architecture is used here.
  43.        s 
  44.        syntaxes support colour models which are different from  this,  the
  45.        mapping of the specific colour models to the basic RGB colour  cube
  46.        must be understood by the conversion process.
  47.             Two colour indexing modes are available: Direct  and  Indexed.
  48.        In direct colour selection, the colour is defined  by  providing  a
  49.        three tuple of discrete values  for  the  RGB  components.  In  the
  50.        indexed colour selection mode, the colour is defined  by  an  index
  51.        into a single colour table of discrete colour values. The number of
  52.        colours which may be defined in the colour table is terminal  model
  53.        dependent. The limit assumed in the definition of a particular  set
  54.        of data is specified in the Boundary Value Definition section. If a
  55.        receiving system cannot image the range of colour values  specified
  56.        by a direct colour value or the colour value indexed  by  a  colour
  57.        index, then a `closest match` is assumed according to the  criteria
  58.        stated in ISO 8613. A variant of the  indexed  colour  mode  called
  59.        `auxiliary colour  mode`  is  used  to  define  a  colour  for  the
  60.        background of a text or mosaic character cell.
  61.        Colour-Control-String              ::=      CHOICE      {       [1]
  62.        Basic-Colour-Selection,
  63.                                  [2] Direct-Colour-Selection,
  64.                                  [3] Indexed-Colour-Selection,
  65.                                  [4] Auxiliary-Colour-Selection,
  66.  
  67.  
  68.  
  69.  
  70.                                                      Fascicle VII.5 - Rec. T.101  PAGE45
  71.  
  72.                                  [5] Colour-Index-Setup }
  73.        A.3.13.1    Basic colour selection
  74.        Basic-Colour-Selection        ::= INTEGER { black           (0),
  75.                                  red            (1),
  76.                                  green               (2),
  77.                                  yellow              (3),
  78.                                  blue           (4),
  79.                                  magenta             (5),
  80.                                  cyan           (6),
  81.                                  white               (7),
  82.                                  auxiliary-black          (8),
  83.                                  auxiliary-red       (9),
  84.                                  auxiliary-green          (10),
  85.                                  auxiliary-yellow    (11),
  86.                                  auxiliary-blue      (12),
  87.                                  auxiliary-magenta   (13),
  88.                                  auxiliary-cyan      (14),
  89.                                  auxiliary-white          (15),
  90.                                  auxiliary-foreground     (16) }
  91.        e 
  92.              expressed in terms of the abstract colour  by  the  conversion
  93.              process. That  is,  all  the  rules  inherent  in  the  serial
  94.              attribute method  of  specifying  basic  colours,  or  in  the
  95.              parallel  attribute  method,  should  be   resolved   by   the
  96.              conversion process which creates the IDS colour commands.
  97.        VV    The auxiliary colour commands specify the  background  colour
  98.              for text  and  mosaics.  The  command  `auxiliary  foreground`
  99.              specifies that the background colour  should  be  set  to  the
  100.              current foreground colour.
  101.        A.3.13.2    Direct colour selection
  102.        DirectVColourVSelection ::= SEQUENCE { REAL, REAL, REAL }
  103.        VV    Direct colour selection permits colours to  be  specified  in
  104.              terms of the Red Green Blue components of  the  colour  model.
  105.              The ASN.1 REAL data type is use since this form of  number  is
  106.              selfVdelimiting and  of  arbitrary  length.  The  real  number
  107.              parameters are relative to the maximum colour value  for  each
  108.              component.  The   parameters   are   Red,   Green   and   Blue
  109.              respectively.
  110.        A.3.13.3    Indexed colour selection
  111.        IndexedVColourVSelection ::= INTEGER
  112.        VV    Indexed colour selection permits colours to be specified as an 
  113.              index into an indirect colour map, which contains actual  Red,
  114.              Green and Blue colour  specifications  for  each  colour.  The
  115.              length of the  colour  map  and  the  number  of  colour  maps
  116.              available is terminal model dependent. The  INTEGER  parameter
  117.              is interpreted with respect to the current size of the  colour
  118.              map specified  in  Boundary  Value  Definition.  In  order  to
  119.              accommodate the rules for  accommodating  differences  in  the
  120.              colour value extent, as specified in  ISO  8613,  the  INTEGER
  121.              parameter is interpreted  as  a  normalized  fraction  of  the
  122.              specified map lenght. Some terminal data syntaxes provide  the
  123.              capability  of  multiple  colour  maps.  Multiple   maps   are
  124.              logically equivalent to one large map encompassing a number of
  125.              submaps. In the IDS, the use of several colour maps is handled
  126.              by arbitrarily partitioning the single IDS colour map.
  127.        A.3.13.4    Auxiliary colour selection
  128.        AuxiliaryVColourVSelection ::= INTEGER
  129.        VV    Auxiliary colour selection permits colours to be specified for 
  130.              the  background  of  Text  or  Mosaics  character  cells.  The
  131.              operation of this command is similar  to  the  Indexed  Colour
  132.              selection above, except that the current backgroun  colour  is
  133.              established.
  134.        A.3.13.5    Colour index setup
  135.        Colour-Index-Setup ::= SEQUENCE { INTEGER, REAL, REAL, REAL }
  136.        --    The Colour Index setup command defines the  contents  of  the
  137.  
  138.  
  139.  
  140.  
  141.        PAGE50  Fascicle VII.5 - Rec. T.101
  142.  
  143.        colour map. The first parameter takes indexes into the  colour
  144.              map in a  similar  manner  to  the  Indexed  Colour  Selection
  145.              command. The remaining three parameters define the Red,  Green
  146.              and Blue colour values in  a  manner  similar  to  the  Direct
  147.              Colour Specification command.
  148.        A.3.14      Text colour string
  149.             The manner in which text  is  presented  and  the  specialized
  150.        attributes and constraints which pertain  to  the  presentation  of
  151.        texts differs between each of the terminal data syntaxes.
  152.        Text-Control-String ::= CHOICE { [1] General-Text-Control,
  153.                              [2] Word-Wrap-Control }
  154.        A.3.14.1    General text control
  155.        General-Text-Control              ::=      SEQUENCE      {      [1]
  156.        General-Text-Control-Code,
  157.                                  [2] G-Text-Par1 OPTIONAL,
  158.                                  [3] G-Text-Par2 OPTIONAL,
  159.                                  [4] Rel-Coord OPTIONAL,
  160.                                  [5] Abs-Coord OPTIONAL }
  161.        General-Text-Control-Code ::= GRAPHICSTRING
  162.        --    General control function from Recommendation T.101 DS III [PDI 
  163.        G Set position 2/2, (10/2)].
  164.        --    Note - PDI G Set has final character 5/7 within DS III.
  165.        G-Text-Par1      ::= SET { [1] Char-Rotation OPTIONAL,
  166.                             [2] IMPLICIT Char-Path OPTIONAL,
  167.                             [3] Char-Spacing OPTIONAL,
  168.                             [4] IMPLICIT Text-Precision OPTIONAL,
  169.                             [5] IMPLICIT Char-Expansion-Factor OPTIONAL,
  170.                             [6] Text-Colour-Index OPTIONAL,
  171.                             [7] IMPLICIT Text-Alignment OPTIONAL }
  172.        Char-Rotation             ::=  CHOICE  {  predefined  [1]  IMPLICIT
  173.        INTEGER {
  174.                                                 char-rotation-0 
  175.        (0),
  176.                                                 char-rotation-90 
  177.        (1),
  178.                                                 char-rotation-180   (2),
  179.                                                 char-rotation-270   (3) }
  180.                                  continuous [2] IMPLICIT SEQUENCE {
  181.                                                 height-vector Abs-Coord,
  182.                                                 width-vector Abs-Coord } }
  183.        Char-Path      ::= INTEGER { char-path-right   (0),
  184.                             char-path-left      (1),
  185.                             char-path-up        (2),
  186.                             char-path-down (3) }
  187.        Char-Spacing  ::= CHOICE { predefined [1] IMPLICIT INTEGER {
  188.                                                 char-spacing-1      (0),
  189.                                                 char-spacing-5/4 
  190.        (1),
  191.                                                 char-spacing-3/2 
  192.        (2) }
  193.                             continuous [2] IMPLICIT REAL }
  194.        Text-Precision ::= INTEGER { string               (0),
  195.                             char           (1),
  196.                             stroke              (2) }
  197.        Char-Expansion-Factor    ::= REAL
  198.        Text-Control-Index          ::=    CHOICE    {     [1]     IMPLICIT
  199.        Basic-Colour-Selection,
  200.                                [2] IMPLICIT Indexed-Colour-Selection }
  201.        Text-Alignment           ::= SEQUENCE { Horizontal-Alignment,
  202.                                  Vertical-Alignment }
  203.        Horizontal-Alignment          ::= INTEGER { normal          (0),
  204.                                  left      (1),
  205.                                  centre         (2),
  206.                                  right          (3) }
  207.        Vertical-Alignment       ::= INTEGER {normal      (0),
  208.  
  209.  
  210.  
  211.  
  212.                                                      Fascicle VII.5 - Rec. T.101  PAGE45
  213.  
  214.                                  top       (1),
  215.                                  cap       (2),
  216.                                  half      (3),
  217.                                  base      (4),
  218.                                  bottom         (5) }
  219.        G-Text-Par2      ::= SEQUENCE { INTEGER  {  cursor-style-underscore
  220.        (0),
  221.                                         cursor-style-block 
  222.        (1),
  223.                                         cursor-style-cross-hair 
  224.        (2),
  225.                                         cursor-style-custom 
  226.        (3) }
  227.                               INTEGER{cursor-&-geometric-drawing-
  228.                                          position-together 
  229.        (0),
  230.                                         cursor-leads-geometric-
  231.                                          drawing-position 
  232.        (1),
  233.                                         geometric-drawing-position
  234.                                          -leads-cursor 
  235.        (1),
  236.                                         cursor-&-geometric-drawing-
  237.                                          position-separate 
  238.        (3) }
  239.                                  INTEGER     {     char-interrow-spacing-1
  240.        (0),
  241.                                         char-interrow-spacing-5/4 
  242.        (1),
  243.                                         char-interrow-spacing-3/2 
  244.        (2),
  245.                                         char-interrow-spacing-2 
  246.        (3) }
  247.                                  Char-Block-Dimension }
  248.        --    The relative coordinates define the  size  of  the  character
  249.        field.
  250.        Char-Block-Dimensions ::= Rel-Coord
  251.        A.3.14.2    Word wrap control
  252.        on 
  253.        one of the  terminal  data  syntaxes.  This  capability  cannot  be
  254.        directly converted to other data syntaxes; however, the effect  can
  255.        be achieved in the converter by issuing appropriate format effector
  256.        characters.
  257.        WordVWrapVControl        ::= INTEGER { WordVWrapVOn         (1),
  258.                                  WordVWrapVOff       (2) }
  259.        VV    WordVWrapVOn is a function from Recommendation T.101  DS  III
  260.        [C1 set position 5/5, (9/5)].
  261.        VV    WordVWrapVOff is a function from Recommendation T.101 DS  III
  262.        [C1 set position 5/6, (9/6)].
  263.        A.3.15   Photographic string synthetic image
  264.             All of the terminal data syntaxes provide a method of handling
  265.        an array of pixels. Some of the data syntaxes also provide  general
  266.        photographic capabilities which provide more efficient  methods  of
  267.        encoding the same  type  of  data.  This  means  that  interworking
  268.        between  all  of  the  terminal  data  syntaxes  is  possible   for
  269.        photographic data, even though it may be inefficient in some cases.
  270.             Two classes of photographic images are identified below.  They
  271.        are the Synthetic and the Natural Image forms of photographic.  The
  272.        synthetic form of  photographic  corresponds  to  the  photographic
  273.        capabilities of data Syntax I. Natural Image photographic coding is
  274.        for further study.
  275.        PhotoVGraphicVStringVSyntheticVImage    ::=    CHOICE     {     [1]
  276.        LineVDotVPattern,
  277.                                         [2] LineVDotVPatternVComp,
  278.                                         [3] FieldVDotVPattern,
  279.  
  280.  
  281.  
  282.  
  283.        PAGE50  Fascicle VII.5 - Rec. T.101
  284.  
  285.                                         [4] ColouringVBlock,
  286.                                         [5] ColouringVBlockVComp,
  287.                                         [6] FieldVColouringVBlock,
  288.                                         [7] FieldVColouringVBlockVComp,
  289.                                         [8] FreeVFormatVColouringVBlock }
  290.        VV     Photographic  Synthetic  Image   functions   correspond   to
  291.              Recommendation  T.101  Data  Syntax  I.  These  functions  are
  292.              suitable  for  displaying  synthetic  images  such  as   Kanji
  293.              characters, graphics, etc.
  294.        A.3.15.1    Line dot pattern
  295.        LineVDotVPattern                  ::=          SEQUENCE           {
  296.        yVoriginVpointVcoordinateVIdp AbsVCoord,
  297.                                dotVpatternVdataVIdp BITSTRING }
  298.        VV    LineVDotVPattern  functions  indicates  a  selection  of  two
  299.              colours  which  are  defined  by  a  colouring  Block,   Field
  300.              Colouring Block, etc. This function gives dot pattern data  of
  301.              one or several lines at a time.
  302.        A.3.15.2    Line dot pattern comp
  303.        LineVDotVPatternVComp             ::=          SEQUENCE           {
  304.        yVoriginVpointVcoordinateVIdpc AbsVCoord,
  305.                                  mhVrunVlength codedVdata BITSTRING }
  306.        VV    The  LineVDotVPatternVComp  function  is  equivalent  to  the
  307.              LineVDotVPattern function except that  the  dot  patterns  are
  308.              encoded in a compressed manner using the M.H. Run Length Code.
  309.        A.3.15.3    Field dot pattern
  310.        Field-Dot-Pattern    ::=  SEQUENCE   {   xy-origin-point-coordinate
  311.        Abs-Coord,
  312.                              dx-dy-field-dimensions Rel-Coord,
  313.                              dot-pattern-data-fdp BITSTRING }
  314.        --     The  Field-Dot-Pattern  function  is   equivalent   to   the
  315.              Line-Dot-Pattern function except that  this  function  defines
  316.              the dot pattern in a rectangular area.
  317.        A.3.15.4    Colouring block
  318.        Colouring-Block                   ::=          SEQUENCE           {
  319.        fg-bg-da-existence-indicator INTEGER,
  320.                                y-origin-point-coordinate-cb Abs-Coord,
  321.                             SEQUENCE OF { SEQUENCE {
  322.                                fg-colour BITSTRING,
  323.                                bg-colour BITSTRING,
  324.                                display-attributes-cb BITSTRING } } }
  325.        --    The Colouring-Block function defines a photographic image  by
  326.              specifying the foregroung colour (FG), backgroung colour (BG),
  327.              and display attributes of certain blocks  ahead  of  which  is
  328.              indicated by the parameter y-origin-point-coordinate.
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.                                                      Fascicle VII.5 - Rec. T.101  PAGE45
  355.  
  356.        A.3.15.5    Colouring block comp
  357.        Colouring-Block-Comp              ::=          SEQUENCE           {
  358.        colouring-block-comp-function-id INTEGER,
  359.                                  fg-bg-da-existence-indicator-cbc INTEGER,
  360.                                  y-origin-point-coordinate-cbs Abs-Coord,
  361.                             SEQUENCE OF { SEQUENCE {
  362.                                  fg-comp-colour BITSTRING,
  363.                                  fg-runlength BITSTRING,
  364.                                  bg-comp-colour BITSTRING,
  365.                                  bg-runlength BITSTRING,
  366.                                  display-attributes-cbc BITSTRING,
  367.                                  da-runlength BITSTRING } } }
  368.        --    The Colouring-Block-Comp function is equivalent to that of the 
  369.              Colouring-Block  function  except  that  colour  and   display
  370.              attributes data are encoded by compressed manner as run-length
  371.              code.
  372.        A.3.15.6    Field colouring block
  373.        Field-Colouring-Block             ::=          SEQUENCE           {
  374.        field-colouring-block-function-id INTEGER,
  375.                                  fg-bg-da-existence-indicator-fcb INTEGER,
  376.                                  xy-origin-point-coordinate-fcb Abs-Coord,
  377.                                  dx-dy-field-dimensions-fcb Rel-Coord,
  378.                             SEQUENCE OF { SEQUENCE {
  379.                                  fg-colour-fbc BITSTRING,
  380.                                  bg-colour-fbc BITSTRING,
  381.                                  display-attributes-fcb BITSTRING } } }
  382.        --    The Field-Colouring-Block  function  defines  a  photographic
  383.              image by specifying the  foregroung  colour  (FG),  backgroung
  384.              colour (BG), and display attributes of  certain  blocks  which
  385.              are   contained   in    the    the    field    allocated    by
  386.              xy-origin-point-coordinate and the dx-dy-field-dimensions.
  387.        A.3.15.7    Field colouring block comp
  388.        Field-Colouring-Block-Comp           ::=         SEQUENCE         {
  389.        field-colouring-block-comp-function-id INTEGER,
  390.                                       fg-bg-da-existence-indicator-fcbc 
  391.        INTEGER,
  392.                                       xy-origin-point-coordinate-fcbc 
  393.        Abs-Coord,
  394.                                       dx-dy-field-dimensions-fcbc 
  395.        Rel-Coord,
  396.                                  SEQUENCE OF { SEQUENCE {
  397.                                       fg-colour-fcbc BITSTRING,
  398.                                       fg-runlength-fcbc BITSTRING,
  399.                                       bg-comp-colour-fcbc BITSTRING,
  400.                                       bg-runlength-fcbc BITSTRING,
  401.                                       display-attributes-fbc BITSTRING,
  402.                                       da-runlength-fcbc BITSTRING } } }
  403.        --    The Field-Colouring-Block-Comp function is equivalent to that
  404.              of the Field-Colouring-Block function except that  colour  and
  405.              display attributes data are encoded by  compressed  manner  as
  406.              run-length code.
  407.        A.3.15.8    Free format colouring block
  408.        Free-Format-Colouring-Block          ::=         SEQUENCE         {
  409.        fg-bg-da-existence-indicator-ffcb INTEGER,
  410.                                       fg-bg-da-code-length INTEGER,
  411.                                       run-length-code-length-ffcb INTEGER,
  412.                                       xy-origin-point-coordinate-ffcb 
  413.        Abs-Coord,
  414.                                       dx-dy-field-dimensions-ffcb 
  415.        Rel-Coord,
  416.                                  SEQUENCE OF { SEQUENCE {
  417.                                       fg-colour-ffcb BITSTRING,
  418.                                       runlength-ffcb BITSTRING,
  419.                                       bg-comp-colour-ffcb BITSTRING,
  420.                                       bg-runlength-ffcb BITSTRING,
  421.  
  422.  
  423.  
  424.  
  425.        PAGE50  Fascicle VII.5 - Rec. T.101
  426.  
  427.                                       display-attributes-ffcb BITSTRING,
  428.                                       da-runlength-ffcb BITSTRING } } }
  429.        --    The Free-Format-Colouring-Block function is equivalent to that 
  430.              of the Field-Colouring-Block-Comp  function  except  that  the
  431.              code length of the Foreground, Background, Display  Attributes
  432.              and Run Lenght can be arbitrarily set.
  433.        A.3.16   Photo graphic string natural image
  434.        Photo-Graphic-String-Natural-Image  ::=  CHOICE  {   [0]   IMPLICIT
  435.        Header,
  436.                                        [1] IMPLICIT Transfer,
  437.                                        [2] IMPLICIT Table-Header,
  438.                                        [3] IMPLICIT Table-Transfer }
  439.        Header ::= SET {          [0] IMPLICIT Components OPTIONAL,
  440.             CHOICE { [1] IMPLICIT Resolution OPTIONAL,
  441.                    [2] IMPLICIT PixelPair OPTIONAL }
  442.                    [3] IMPLICIT BitsPerDisplay OPTIONAL,
  443.                    [4] IMPLICIT SamplingStructure OPTIONAL,
  444.             CHOICE { [5] IMPLICIT Adpcm OPTIONAL,
  445.                    [6] IMPLICIT Adct OPTIONAL } }
  446.        Components     ::= INTEGER { colorYU*V*   (0),
  447.                             monochrome     (1) }
  448.        Resolution     ::= INTEGER { 4-2-2        (0),
  449.                             2-1-1          (1) }
  450.        PixelPair        ::= SEQUENCE { PixHor, PixVer }
  451.        PixHor         ::= INTEGER
  452.        --    Number of horizontal pixels.
  453.        PixVer         ::= INTEGER
  454.        --    Number of vertical pixels.
  455.        BitsPerDisplay   ::=   SEQUENCE   OF   INTEGER   {   8   bits/pixel
  456.        (0),
  457.                                       1 bit/pixel              (1),
  458.                                       2 bits/pixel             (2),
  459.                                       . . . 9 bits/pixel            (9),. . 
  460.        . }
  461.        --    One value per component, gives the number or grey or colours a 
  462.        pixel may have.
  463.        SamplingStructure ::= SEQUENCE {
  464.        spatial         ::=  SEQ  {   INTEGER   {   line   and   orthogonal
  465.        (0),
  466.                                  line  and   orthogonal   field   quincunx
  467.        (1),
  468.                                  line    quincunx     field     orthogonal
  469.        (2),
  470.                                  line orthogonal single field       (3),
  471.                                  line      quincunx      single      field
  472.        (4) }
  473.        temporal       ::= SEQ { INTEGER { coincident                 (0),
  474.                                  alternate samples                  (1),
  475.                                  sequential line                    (2) } }
  476.        Adpcm       ::= SEQUENCE { INTEGER { Type dpcm               (1) },
  477.                             INTEGER { Subtype 1 dimension           (0) } }
  478.        Adct          ::=   SEQUENCE   {   INTEGER   {    Type    transform
  479.        (2) },
  480.                             INTEGER { Subtype Cosine           (1) },
  481.                             INTEGER { Subtype 2 dimension           (0) } }
  482.        Transfer       ::= SET { Origin, Area, Data }
  483.        Origin         ::= CHOICE { [0] IMPLICIT PixelPair OPTIONAL
  484.        Area        ::= CHOICE { [1] IMPLICIT PixelPair OPTIONAL
  485.        Data        ::= CHOICE { [2] IMPLICIT OCTETSTRING OPTIONAL,
  486.        --    Any value from 4/0 to 7/F.
  487.                             [3] IMPLICIT OCTETSTRING OPTIONAL }
  488.        --    Transparent mode 8 bit/octet.
  489.        TableHeader    ::= SET { TableSet, TableSize }
  490.        TableSet       ::= [0] IMPLICIT SEQUENCE { type          ::= INTEGER,
  491.                                       number         ::= INTEGER }
  492.  
  493.  
  494.  
  495.  
  496.                                                      Fascicle VII.5 - Rec. T.101  PAGE45
  497.  
  498.        TableSize      ::= [1] IMPLICIT SEQUENCE { depth         ::= INTEGER,
  499.                                       heigth         ::= INTEGER,
  500.                                       width          ::= INTEGER OPTIONAL }
  501.        TableTransfer   ::= SET { TableSet, Position, Data }
  502.        Position       ::= TableSize
  503.        A.3.17      Macro
  504.             A Macro capability is available within the syntax  of  two  of
  505.        the three terminal data syntaxes. This capability  permits  strings
  506.        of presentation data to be grouped together,  so  that  it  may  be
  507.        executed by the reference to a  single  command.  In  essence  both
  508.        terminal data syntax DS  I  and  DS  III  provide  the  same  Macro
  509.        capability; however, a Macro in one data syntax cannot  in  general
  510.        be converted to a Macro in another data syntax. This is  because  a
  511.        Macro may contain  any  string  of  presentation  data.  Since  the
  512.        Terminal Models of the various data syntaxes differ,  it  is  often
  513.        necessary to sort the commands in  the  data  stream  in  order  to
  514.        achieve the intended presentation effect. The arbitrary grouping of
  515.        information into Macros prevents general sorting. Since the purpose
  516.        of regular Macro functions are to achieve communications efficiency
  517.        by  eliminating  the  communication  of  repetitious  code,  it  is
  518.        possible to expand Macros in the conversion process. The conversion
  519.        of a Macro is therefore the string of presentation  data  which  it
  520.        represents.
  521.             Two special forms of Macros in data syntax Ds I and DS III are
  522.        Key Activated Macros and Transit Macros. Key Activated Macros  link
  523.        the execution of the Macro function to a local Key on the terminal.
  524.        Since this operation depends upon the interaction of the user,  the
  525.        contents of the Macro cannot be expanded in the converter ahead  of
  526.        time. The converter must re-transmit the entire page of information
  527.        to the terminal with the contents of the Key Activated Macro sorted
  528.        and factored into the page. This problem must  be  handled  by  the
  529.        Interworking Presentation  Architecture.  Similarly  Transit  Macro
  530.        provides a problem in conversion. The contents of a  Transit  Macro
  531.        must be sent back  to  the  source  upon  a  user  interaction.  In
  532.        interworking this could mean that data syntax DS I  data  might  be
  533.        contained within a Transit Macro in a data syntax DS  III  terminal
  534.        after a conversion so that it might be  sent  back  to  the  source
  535.        unchanged. It is necessary to be able  to  identify  entire  coding
  536.        environments or to identify uniquely each code table in  each  Data
  537.        Syntax in order to avoid confusion.
  538.        MACRO-String    ::= CHOICE { [1] Define-Macro,
  539.                              [2] Define-and-Execute-Macro,
  540.                              [3] Define-Transmit-Macro,
  541.                              [4] Define-End-of-Macro-Definition,
  542.                              [5] Macro-Invocation }
  543.        --    Key Activated Macros are Macros with reference numbers 0 to 7
  544.        in data syntax DS III.
  545.        A.3.17.1    Define macro
  546.        Define-Macro    ::= SEQUENCE { SID, INTEGER }
  547.        --    General control character  (DEF  MACRO)  from  Recommendation
  548.              T.101 DS III [C1 set position 4/0, (8/0)]  and  (P-DEF  MACRO)
  549.              from DS I [C1 set position 5/5, (9/5)  followed  by  parameter
  550.              4/0].
  551.        --    Integer number  from  0  to  95  correspondig  to  the  Macro
  552.        reference number of the Macro being defined.
  553.        A.3.17.2    Define and execute macro
  554.        Define-and-Execute-Macro      ::= SEQUENCE { SID, INTEGER }
  555.        --    General control character (DEFP  MACRO)  from  Recommendation
  556.              T.101 DS III [C1 set position 4/1, (8/1)] and  (P-DEFP  MACRO)
  557.              from DS I [C1 set position 5/5, (9/5)  followed  by  parameter
  558.              4/1].
  559.        --    Integer number  from  0  to  95  correspondig  to  the  Macro
  560.        reference number of the Macro being defined.
  561.        A.3.17.3    Define transit macro
  562.        Define-Transmit-Macro         ::= SEQUENCE { SID, INTEGER }
  563.  
  564.  
  565.  
  566.  
  567.        PAGE50  Fascicle VII.5 - Rec. T.101
  568.  
  569.        --    General control character (DEFT  MACRO)  from  Recommendation
  570.              T.101 DS III [C1 set position 4/2, (8/2)] and  (P-DEFT  MACRO)
  571.              from DS I [C1 set position 5/5, (9/5)  followed  by  parameter
  572.              4/2].
  573.        --    Integer number  from  0  to  95  correspondig  to  the  Macro
  574.        reference number of the Macro being defined.
  575.        A.3.17.4    Define end-of-macro definition
  576.        Define-End-of-Macro-Definition ::= SID
  577.        --    General control character [END (Macro)]  from  Recommendation
  578.              T.101 DS III [C1 set position 4/5, (8/5)] and (END MACRO) from
  579.              DS I [C1 set position 5/5, (9/5) followed by parameter 4/15].
  580.        A.3.17.5    Macro invocation
  581.        Macro-Invocation         ::= INTEGER
  582.        --    Integer number  from  0  to  95  correspondig  to  the  Macro
  583.        reference number of the Macro being invoked.
  584.        --    Note - Macros may invoke other Macros at any time and to  any
  585.        depth.
  586.        A.3.18      DRCS string
  587.             The Dynamically Redefinable Character  Set  (DRCS)  capability
  588.        allows additional text or mosaic characters to be defined and  used
  589.        as regular alphanumeric text or mosaics. All three of the  terminal
  590.        data syntaxes include a  form  of  DRCS  capability;  however,  the
  591.        operation of  DRCS  is  quite  different  in  the  various  Display
  592.        Environments. In general it is not possible to convert exactly from
  593.        one type of DRCS to another  because  of  the  boundary  conditions
  594.        imposed by each of the Terminal  Data  Syntaxes.  Different  limits
  595.        exist on the number of DRCS characters which may be defined or  the
  596.        amount of memory which may be used to store  DRCS  characters.  The
  597.        definition of DRCS characters is a particular  difficulty.  One  of
  598.        the source terminal data syntaxes takes the  approach  of  allowing
  599.        any presentation information to be used in the definition of a DRCS
  600.        character, including geometric drawing commands, bit (photographic)
  601.        and text and even other DRCS characters. The other two source  data
  602.        syntaxes define DRCS characters using a bit oriented (photographic)
  603.        approach. Even the two photographic approaches to the definition of
  604.        DRCS are not equivalent since they have different  pixel  densities
  605.        and serious quantization errors may result from mapping an array of
  606.        pixels to another array of a different size. Three  forms  of  DRCS
  607.        definition  are  included  in  the  Interworking  Data  Syntax   to
  608.        accommodate the requirements of the three source data syntaxes. The
  609.        conversion process would therefore have sufficient  information  to
  610.        make the best conversion possible.
  611.        DRCS-String    ::= CHOICE { [1] Define-DRCS-Type-I-1byte,
  612.                           [2] Define-DRCS-Type-I-2byte,
  613.                           [3] Define-DRCS-Type-II,
  614.                           [4] Define-DRCS-Type-III,
  615.                           [5] End-of-DRCS-Definition-Type-III,
  616.                           [6] DRCS-Invocation,
  617.                           [7] DRCS-Invocation-2byte }
  618.        A.3.18.1    Define DRCS Type-I 1 byte
  619.        Define-DRCS-Type-I-1byte ::= SEQUENCE { DRCS-I-Char-Size,
  620.                                     DRCS-I-Code,
  621.                                     DRCS-I-Data }
  622.        DRCS-I-Char-Size                 ::=    INTEGER    {    normal-size
  623.        (1),
  624.                                     medium-size           (2),
  625.                                       small-size               (3) }
  626.        DRCS-I-Code      ::= INTEGER
  627.        --    Integer number from 0 to 95 correspondig to the DRCS reference 
  628.        number of the 1 byte DRCS being invoked.
  629.        DRCS-I-Data    ::= BITSTRING
  630.        A.3.18.2    Define DRCS Type-I 2 byte
  631.        Define-DRCS-Type-I-2byte ::= SEQUENCE { DRCS-I-Char-Size,
  632.                                     DRCS-I-Code,
  633.                                     DRCS-I-Data }
  634.  
  635.  
  636.  
  637.  
  638.                                                      Fascicle VII.5 - Rec. T.101  PAGE45
  639.  
  640.        --    This structure  is  the  same  as  "Define-DRCS-Type-I-1byte"
  641.              except that "DRCS-I-Code" is an integer number from 0 to  8835
  642.              correspondig to the DRCS reference number of the  2-byte  DRCS
  643.              being invoked.
  644.        A.3.18.3    Define DRCS Type-II
  645.        Define-DRCS-Type-II             ::=   SEQUENCE   {   [1]   IMPLICIT
  646.        DRCS-Header OPTIONAL,
  647.        --    Description of general properties of the DRCS to be loaded. It 
  648.              is applied for all subsequent DRCS-pattern transfer units.
  649.                                       [2] IMPLICIT DRCS-Pattern OPTIONAL }
  650.        --    Actual pattern data.
  651.        DRCS-Header           ::= SEQUENCE { Identification-of-Char-Set,
  652.                                       Select-Dot-Composition }
  653.        Identification-of-Char-Set    ::= SEQUENCE { repertory-info SET {
  654.                                        repertory-#   INTEGER    {    first
  655.        repertory      (1),
  656.                                                        second    repertory
  657.        (2) },
  658.                                        delete-existing-drcs BOOLEAN
  659.        Identification-of-Char-Set     ::=  SEQUENCE  {   registration-info
  660.        CHOICE {
  661.                                        iso-registration     [1]   IMPLICIT
  662.        GRAPHICSTRING,
  663.                                        private-drcs-#       [2]   IMPLICIT
  664.        INTEGER } }
  665.        Select-Dot-Composition   ::= SEQUENCE { Character-Cell-Structure,
  666.                                  Blocking-Factor,
  667.                                  Pixel-Characteristics }
  668.        Character-Cell-Structure    ::=    CHOICE    {    matrix-dimensions
  669.        [1] IMPLICIT SEQUENCE {
  670.                                    horizontal             INTEGER,
  671.                                    vertical                   INTEGER },
  672.        --    According to SDC Type 1.
  673.                             predefined-matrices [2] IMPLICIT INTEGER {
  674.                                            n16*24              (0),
  675.                                            n16*20              (1),
  676.                                            n16*12              (2),
  677.                                            n16*10              (3),
  678.                                            n12*24              (4),
  679.                                            n12*20              (5),
  680.                                            n12*12              (6),
  681.                                            n12*10              (7),
  682.                                            n8*12               (8),
  683.                                            n8*10               (9),
  684.                                            n6*12               (10),
  685.                                            n6*10               (11),
  686.                                            n6*5           (12),
  687.                                            n4*10               (13),
  688.                                            n4*5           (14),
  689.                                            n6*6           (15) } }
  690.        --    According to SDC Type-2.
  691.        Blocking-Factor          ::= SEQUENCE { horizontal INTEGER,
  692.                                vertical INTEGER }
  693.        --    Grouping of character cells, which are considered as a single
  694.        character cell during character description.
  695.        Pixel-Characteristics ::= CHOICE { number of bits      [1] IMPLICIT
  696.        INTEGER,
  697.                             predefined-numbers  [2] IMPLICIT INTEGER }
  698.                                                 basic-DRCS          (1),
  699.        --    1 bit/dot.
  700.                                                 four-colour-DRCS    (4),
  701.        --    Black, red, green, yellow from `Basic-Colour-Selection`.
  702.                                                 eight-colour-DRCS   (8),
  703.        --    First 8 colours from `Basic-Colour-Selection`.
  704.                                                 sixteen-colour-DRCS (16) }
  705.  
  706.  
  707.  
  708.  
  709.        PAGE50  Fascicle VII.5 - Rec. T.101
  710.  
  711.        --    16 redefinable colours.
  712.        --    This data type describes the pattern for the characters of the 
  713.              down-loaded DRCS, according the last transmitted header  unit.
  714.              It contains no compression for the pattern data. Data Syntax I
  715.              and III have no similar encodings and this method can be  used
  716.              for an adequate  mapping.  All  encoding  different  from  the
  717.              direct method and the codes for improvement of the  efficiency
  718.              (S-bytes) have to be transformed to the following description.
  719.        DRCS-Pattern ::= SEQUENCE { first character GRAPHICSTRING,
  720.        --    Code of the first character or character block
  721.                             pattern-units SEQUENCE OF {
  722.                              pattern-block-#         SEQUENCE OF INTEGER,
  723.                              pattern-block           BIT STRING } }
  724.        --    Each pattern block contains one bit  of  each  of  the  dots,
  725.              starting from the top left hand corner,  running  row  by  row
  726.              from left to right. The pattern block numbers are ordered from
  727.              the least significant bit on. If the pattern block is preceded
  728.              by two or more block numbers, the pattern block is applied  to
  729.              all of them. The block numbers  are  in  the  range  of  0  to
  730.              `pixel-characteristics`-1. The length  of  the  pattern  block
  731.              equals to the number of pixels in the block.
  732.        A.3.18.4    Define DRCS Type-III
  733.        Define-DRCS-Type-III ::= INTEGER
  734.        --    A function from Recommendation T.101 DS III [C1 set  position
  735.        4/3, (8/3)].
  736.        --    Integer number from 0 to 95 correspondig to the DRCS reference 
  737.              number of the DRCS character being defined to be  followed  by
  738.              data string.
  739.        A.3.18.5    End-of-DRCS definition Type-III
  740.        End-of-DRCS-Definition-Type-III ::= GRAPHICSTRING
  741.        --    General control character [END  (DRCS)]  from  Recommendation
  742.        T.101 DS III [C1 set position 4/5, (8/5)].
  743.        A.3.18.6    DRCS invocation
  744.        DRCS-Invocation ::= INTEGER
  745.        --    Integer number from 0 to 95 correspondig to the DRCS reference 
  746.        number of the DRCS being invoked.
  747.        A.3.18.7    DRCS invocation 2 byte
  748.        DRCS-Invocation-2byte ::= INTEGER
  749.        --    Integer number from  0  to  8835  correspondig  to  the  DRCS
  750.              reference number of the 2-byte DRCS being invoked.
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.                                                      Fascicle VII.5 - Rec. T.101  PAGE45
  781.  
  782.        A.3.19   Fill pattern control string
  783.             The capability to fill a geometrically defined  area  with  an
  784.        arbitrary Fill  Pattern,  interior  style,  hatch  or  texture,  is
  785.        provided in two of the source videotex data syntaxes. Since one  of
  786.        the terminal Videotex data syntaxes, data syntax  DS  I,  does  not
  787.        provide this capability it must be accommodated in  the  conversion
  788.        process by assigning  distinguishing  colours  or  other  means  to
  789.        indicate the difference between  patterned  areas.  The  method  by
  790.        which this capability is supported in the  other  two  source  data
  791.        syntaxes is quite different.  Data  syntax  DS  III  provides  four
  792.        predefined  texture  patterns,  including  solid  fill,  and   four
  793.        redefinable texture masks. These  masks  are  rectilinear  and  are
  794.        referenced to the origin of the normalized display area. This means
  795.        that abutting  areas  filled  with  the  same  pattern  will  align
  796.        perfectly. In Interior style patterns defined in data syntax DS II,
  797.        the pattern may be defined on a parallelogram shaped  area  and  is
  798.        referenced to the origin of  the  area.  Data  syntax  DS  II  also
  799.        provides  eight  predefined  fill  patterns  (hatch  patterns).  In
  800.        general, any texture of interior style pattern may be simulated  in
  801.        the conversion process; however, secondary effects  such  as  exact
  802.        alignment of patterns cannot be  guaranteed.  Texture  patterns  in
  803.        data  syntax  DS  III  are  defined  by  including  any  string  of
  804.        presentation data in the definition of the pattern whereas interior
  805.        styles defined in data syntax DS II are defined in terms of a  cell
  806.        array. The conversion process must resolve the pattern  before  the
  807.        conversion. Limits to  global  variables,  such  as  the  available
  808.        amount  of  texture  memory,  is  defined  by  the  boundary  value
  809.        condition indicators in the state vector.
  810.        Fill-Pattern-Control-String ::= CHOICE { [1] Define-Texture,
  811.                                  [2] End-of-Texture-Definition,
  812.                                  [3] Texture-Mask-Size,
  813.                                  [4] Set-Pattern-Representation,
  814.                                  [5] Pattern-Selection }
  815.        A.3.19.1    Define texture
  816.        Define-Texture           ::= INTEGER
  817.        --    A function from Recommendation T.101 DS III [C1 set  position
  818.        4/4, (8/4)].
  819.        --    Integer number from 4 to 7 correspondig  to  the  redefinable
  820.              Texture Mask to be defined. Note texture  masks  0  to  3  are
  821.              predefined and cannot be redefined  to  be  followed  by  data
  822.              string.
  823.        A.3.19.2    End-of-texture definition
  824.        End-of-Texture-Definition     ::= GRAPHICSTRING
  825.        --    General control character [END (TEXTURE)] from Recommendation
  826.              T.101 DS III [C1 set position 4/5, (8/5)].
  827.        A.3.19.3    Texture mask size
  828.        Texture-Mask-Size        ::= Rel-Coord
  829.        --    Establish the texture mask size up to the limit defined by the 
  830.        boundary conditions.
  831.        --    A function from Recommendation T.101 DS III [C1 set  position
  832.        2/3, (10/3)].
  833.        A.3.19.4    Set pattern representation
  834.        Set-Pattern-Representation ::= SEQUENCE { pattern-index INTEGER,
  835.        --    This number corresponds to the current pattern definition. It
  836.              can be referenced by subsequent fill area style indices.
  837.                                  delta-x INTEGER,
  838.                                  delta-y INTEGER,
  839.        --    A grid of delta-x* delta-y* cells is specified. The colour of
  840.        each cell is individually given by the
  841.                             pattern-cell-data Pixel-Array-Data }
  842.        --    The colour array is associated with the cells as follows: the
  843.              element (1, delta-y) is associated with the  cell  having  the
  844.              pattern  reference  point  at  one   corner.   Elements   with
  845.              increasing first dimension are associated with succesive cells
  846.              in the direction of the pattern  with  vector;  elements  with
  847.  
  848.  
  849.  
  850.  
  851.        PAGE50  Fascicle VII.5 - Rec. T.101
  852.  
  853.        decreasing second  dimension  are  associated  with  succesive
  854.              cells in the direction of the pattern height vector.
  855.        --    These  definitions  of  patterns  are  from  DS  II  and  are
  856.              applicable  in  conjugation  with  the  fill  area  attributes
  857.              defined by the data type "Display-Element-Attributes".
  858.        A.3.19.5  Pattern selection
  859.        Pattern-Selection        ::= INTEGER
  860.        --    Integer number from 4 to 7 correspondig to the  Texture  Mask
  861.        being selected.
  862.        A.3.20   Music string
  863.             The music capability is an option unique to only  one  of  the
  864.        terminal  data  syntaxes.  It  requires  special  capabilities  for
  865.        presentation and cannot be  converted  in  any  reasonable  manner.
  866.        Music information is included in the Interworking Data  Syntax  for
  867.        future compatibility  so  that  interworking  may  be  accomplished
  868.        between information from data syntax DS I and any  future  versions
  869.        of data syntax DS II or III which might include a music capability.
  870.        Music-String         ::= CHOICE { [1] Music-Code-Sequence,
  871.                              [2] Music-Control-Sequence }
  872.        A.3.20.1    Music code sequence
  873.        Music-Code-Sequence      ::= GRAPHICSTRING
  874.        --    Characters from Recommendation T.101 DS I [Musical  Tone  Set
  875.              (pitch/duration)]. Note that the Musical Tone  set  is  a  two
  876.              byte set which can be described as the combination of two  one
  877.              byte sets, one for duration and one for  pitch.  Reference  is
  878.              made to Recommendation T.101 since this code table has not yet
  879.              been registered.
  880.        A.3.20.2    Music code sequence
  881.        Music-Control-Sequence   ::= GRAPHICSTRING
  882.        --    Control characters from Recommendation T.101  DS  I  (Musical
  883.              Control  C1  Set).  The  Musical  Control  set  contains   the
  884.              functions: Start Music Sequence,  End  Music  Sequence,  Start
  885.              Melody Part, Start Rythm Part, End Part, Music Label, Jump  to
  886.              Part, Music Repeat,  Music  Branch,  Sound  Level,  Change  of
  887.              Timbre, Long Duration Rest  or  Tone.  Reference  is  made  to
  888.              Recommendation T.101 since this code table has  not  yet  been
  889.              registered.
  890.        A.3.21   Telesoftware string
  891.        Telesoftware-String           ::= Further Study
  892.        A.3.22   Audio data string
  893.        Audio-Data-String             ::= Further Study
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.                                                      Fascicle VII.5 - Rec. T.101  PAGE45
  923.  
  924.